版块导航
简介
Arduino Due是第一款基于32位ARM内核微控制器的Arduino板。它具有54个数字输入/输出引脚(其中12个可用作PWM输出),12个模拟输入,4个UART(硬件串行端口),84 MHz时钟,支持USB OTG的连接,2个DAC(数模) ,2 TWI,电源插孔,SPI接头连接器,JTAG接头连接器,复位按钮和擦除按钮。
该开发板包含支持微控制器所需的一切;只需使用micro-USB电缆将其连接到计算机,或使用AC-DC适配器或电池为它供电即可开始使用。Due与所有在3.3V工作并符合1.0 Arduino引脚排列的Arduino屏蔽兼容。
开发板靓照
技术规格
微控制器 | AT91SAM3X8E |
工作电压 | 3.3伏 |
输入电压(推荐) | 7-12V |
输入电压(极限) | 6-16V |
数字I / O引脚 | 54个(其中12个提供PWM输出) |
模拟输入引脚 | 12个 |
模拟输出引脚 | 2个(DAC) |
所有I / O线上的总DC输出电流 | 130毫安 |
3.3V引脚的直流电流 | 800毫安 |
5V引脚的直流电流 | 800毫安 |
Flash容量 | 512 KB全部可用于用户应用程序 |
SRAM | 96 KB(两个存储区:64KB和32KB) |
时钟速度 | 84兆赫 |
长度 | 101.52毫米 |
宽度 | 53.3毫米 |
重量 | 36克 |
技术资料
Due可使用Arduino Arduino软件(IDE)进行编程。
将草图上传到SAM3X与在其他Arduino板上找到的AVR微控制器不同,因为在重新编程之前需要擦除闪存。上载到芯片是由SAM3X上的ROM管理的,只有在芯片的闪存为空时才运行ROM。
可以使用这两个USB端口对电路板进行编程,但是由于处理芯片擦除的方式,建议使用编程端口:
编程端口:要使用此端口,请在Arduino IDE中选择“ Arduino Due(ProgrammingPort)”作为开发板。将Due的编程端口(最靠近DC电源插孔的端口)连接到计算机。编程端口使用16U2作为连接到SAM3X的第一个UART(RX0和TX0)的USB串行芯片。16U2的两个引脚分别连接到SAM3X的Reset和Erase引脚。打开和关闭以1200bps连接的编程端口会触发SAM3X芯片的“硬擦除”过程,在与UART通信之前激活SAM3X上的Erase和Reset引脚。这是用于编程Due的推荐端口。它比在本机端口上发生的“软擦除”更可靠,即使主MCU崩溃了,它也可以正常工作。
本机端口:要使用此端口,请在Arduino IDE中选择“ Arduino Due(NativeUSBPort)”作为开发板。本机USB端口直接连接到SAM3X。将Due的本机USB端口(最靠近重置按钮的端口)连接到计算机。以1200bps的速率打开和关闭本机端口会触发“软擦除”过程:擦除闪存,并使用引导加载程序重新启动板。如果MCU由于某种原因而崩溃,则软擦除程序可能无法正常工作,因为该程序完全发生在SAM3X的软件中。以不同的波特率打开和关闭本机端口不会重置SAM3X。
与使用avrdude进行上传的其他Arduino板不同,Due依赖于 bossac.Arduino 仓库中提供了ATmega16U2固件源代码 。您可以将ISP标头与外部编程器一起使用(覆盖DFU引导加载程序)。
与大多数Arduino开发板不同,Arduino Due开发板在3.3V运行。I / O引脚可以承受的最大电压为3.3V。向任何I / O引脚施加高于3.3V的电压可能会损坏电路板。
Arduino Due可通过USB连接器或外部电源供电。电源是自动选择的。
外部(非USB)电源可以来自AC-DC适配器(壁式电源适配器)或电池。可以通过将2.1mm中心正插头插入板子的电源插孔来连接适配器。可以将电池的导线插入POWER连接器的Gnd和Vin引脚接头中。
该板可在6至20伏的外部电源上运行。但是,如果电源电压低于7V,则5V引脚的电源电压可能低于5V,电路板可能会不稳定。如果使用的电压超过12V,则稳压器可能会过热并损坏电路板。推荐范围是7到12伏。
电源引脚如下:
Vin Arduino板使用外部电源时的输入电压(与USB连接或其他稳压电源提供的5伏电压相反)。您可以通过此引脚供电,或者如果通过电源插孔供电,则可以通过此引脚供电。
5V 此引脚从板上的稳压器输出稳定的5V。可以通过直流电源插孔(7-12V),USB连接器(5V)或板的VIN引脚(7-12V)为该板供电。通过5V或3.3V引脚供电会旁路稳压器,并可能损坏电路板。我们不建议这样做。
3V3 板载稳压器产生3.3伏电源。最大电流消耗为800 mA。该稳压器还为SAM3X微控制器提供电源。
GND 接地引脚。
IOREF Arduino板上的此引脚提供了供微控制器操作的参考电压。正确配置的屏蔽层可以读取IOREF引脚电压并选择合适的电源,或者在输出上启用电压转换器,以使用5V或3.3V电压。
SAM3X具有512 KB(2个块的256 KB)闪存,用于存储代码。引导加载程序是在Atmel工厂进行预刻录的,并存储在专用的ROM存储器中。可用的SRAM是96 KB,位于64 KB和32 KB的两个连续存储区中。所有可用的内存(闪存,RAM和ROM)都可以作为平面寻址空间直接访问。
可以使用板载的擦除按钮擦除SAM3X的闪存。这将从MCU中删除当前加载的草图。要擦除,请在开发板上电的同时按住“擦除”按钮几秒钟。
使用pinMode(),digitalWrite()和digitalRead() 函数, 可以将Due上的54个数字引脚中的每一个用作输入或输出 。它们的工作电压为3.3伏。每个引脚可以提供(源)3 mA或15 mA的电流(取决于引脚),或接收(吸收)6 mA或9 mA的电流(取决于引脚)。它们还具有一个100 KOhm的内部上拉电阻(默认情况下已断开)。
此外,某些引脚还具有特殊功能:
串行:0(RX)和1(TX)
串口1:19(RX)和18(TX)
序列号2:17(RX)和16(TX)
串行3:15(RX)和14(TX) 用于接收(RX)和发送(TX)TTL串行数据(3.3 V电平)。引脚0和1连接到ATmega16U2 USB-to-TTL串行芯片的相应引脚。
PWM:引脚2到13 提供具有AnalogWrite() 函数的8位PWM输出 。可以使用analogWriteResolution()函数更改PWM的分辨率 。
SPI:SPI头(其他Arduino板上的ICSP头) 这些引脚支持使用SPI库进行 SPI通信 。SPI引脚在中央6引脚接头连接器上断开,该引脚与Uno,Leonardo和Mega2560物理兼容。SPI头仅可用于与其他SPI设备通信,而不能用于使用在线串行编程技术对SAM3X进行编程。Due的SPI还具有高级功能,可与Due的扩展SPI方法一起使用 。
CAN:CANRX和CANTX这些引脚支持CAN通信协议,但Arduino API尚不支持。
“ L” LED:13 有一个内置的LED连接到数字引脚13。当引脚为HIGH时,LED点亮;当引脚为LOW时,LED熄灭。由于数字引脚13也是PWM输出,因此也可以使LED变暗。
TWI 1:20(SDA)和21(SCL)
TWI 2:SDA1和SCL1。 使用Wire库支持TWI通信。可以使用Wire库提供的Wire1类控制SDA1和SCL1 。SDA和SCL有内部上拉电阻,而SDA1和SCL1没有。要使用Wire1,需要在SDA1和SCL1线上添加两个上拉电阻。
模拟输入:从A0到A11 的引脚 Due具有12个模拟输入,每个输入都可以提供12位分辨率(即4096个不同的值)。默认情况下,读数的分辨率设置为10位,以与其他Arduino板兼容。可以使用analogReadResolution()更改ADC的分辨率。Due的模拟输入引脚从地测量到最大值为3.3V。在Due的引脚上施加3.3V以上的电压会损坏SAM3X芯片。在Due上将忽略AnalogReference()函数。
板上还有几个其他引脚:
AREF 模拟输入的参考电压。与 analogReference()一起使用。
Reset 将此线拉低以复位微控制器。通常用于在屏蔽板上添加一个重置按钮,以屏蔽板上的一个按钮。
Arduino Due具有许多用于与计算机,另一个Arduino或其他微控制器以及不同设备(例如电话,平板电脑,相机等)进行通信的工具。SAM3X提供一个硬件UART和三个硬件USART,用于TTL(3.3V)串行通信。
编程端口连接到ATmega16U2,后者为连接的计算机上的软件提供虚拟COM端口(要识别设备,Windows机器将需要一个.inf文件,但是OSX和Linux机器将自动将板识别为COM端口。 )。16U2也连接到SAM3X硬件UART。RX0和TX0引脚上的串行端口提供串行到USB的通信,以通过ATmega16U2微控制器对电路板进行编程。Arduino软件包括一个串行监视器,该监视器允许将简单的文本数据发送到板子或从板子发送出去。当通过ATmega16U2芯片和USB连接到计算机传输数据时,板上的RX和TX LED指示灯将闪烁(但对于引脚0和1上的串行通信则不这样)。
本机USB端口已连接到SAM3X。它允许通过USB进行串行(CDC)通信。这提供了到串行监视器或计算机上其他应用程序的串行连接。它还使Due仿真计算机上的USB鼠标或键盘。
本机USB端口还可以用作USB主机,用于连接的外围设备,例如鼠标,键盘和智能手机。
SAM3X还支持TWI和SPI通信。Arduino软件包括一个Wire库,以简化TWI总线的使用。
Arduino Due具有可重置的多熔丝,可保护计算机的USB端口免受短路和过电流的影响。尽管大多数计算机提供了自己的内部保护,但保险丝提供了额外的保护层。如果对USB端口施加的电流超过500 mA,则保险丝将自动断开连接,直到消除短路或过载为止。
Arduino Due PCB的最大长度和宽度分别为4英寸和2.1英寸,USB连接器和电源插孔的尺寸超出了先前的尺寸。三个螺丝孔可将电路板固定在表面或外壳上。请注意,数字引脚7和8之间的距离为160密耳(0.16英寸),而不是其他引脚100密耳间距的偶数倍。
Arduino Due设计为与大多数为Uno,Diecimila或Duemilanove设计的盾牌兼容。数字引脚0到13(以及相邻的AREF和GND引脚),模拟输入0到5,电源接头连接器和“ ICSP”(SPI)接头连接器均位于等效位置。此外,主UART(串行端口)位于相同的引脚(0和1)上。 请注意,I2C与Duemilanove / Diecimila(模拟输入4和5)位于不同的Due(20和21)引脚上。